/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package Traceability.impl;

import Traceability.Level;
import Traceability.AbstractionLevel;
import Traceability.TraceabilityPackage;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Element Model</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link Traceability.impl.ElementModelImpl#getHas <em>Has</em>}</li>
 *   <li>{@link Traceability.impl.ElementModelImpl#getAbstractionLevel <em>Abstraction Level</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class ElementModelImpl extends ArtefactImpl implements EObject {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected ElementModelImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return TraceabilityPackage.Literals.ELEMENT_MODEL;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Level getHas() {
		return (Level)eGet(TraceabilityPackage.Literals.ELEMENT_MODEL__HAS, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setHas(Level newHas) {
		eSet(TraceabilityPackage.Literals.ELEMENT_MODEL__HAS, newHas);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public AbstractionLevel getAbstractionLevel() {
		return (AbstractionLevel)eGet(TraceabilityPackage.Literals.ELEMENT_MODEL__ABSTRACTION_LEVEL, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setAbstractionLevel(AbstractionLevel newAbstractionLevel) {
		eSet(TraceabilityPackage.Literals.ELEMENT_MODEL__ABSTRACTION_LEVEL, newAbstractionLevel);
	}

} //ElementModelImpl
